//package com.bestcem.xm.common.core.oss.dao;
//
//import com.bestcem.xm.common.core.oss.entity.OssRecordEntity;
//import com.bestcem.xm.common.core.oss.enums.OssPathEnum;
//
//import java.util.Date;
//import java.util.List;
//
///**
// * @author liheng
// * @version v1.0
// * @date 2021/8/2 17:06
// */
//
//public interface OssRecordDao {
//
//    /**
//     * 基础新增上传记录
//     *
//     * @param entity 上传记录实体
//     * @return 新增的上传记录
//     */
//    OssRecordEntity saveEntity(OssRecordEntity entity);
//
//    /**
//     * 上传一般文件，默认记录中
//     *
//     * @param ossKey     查询OSS的key结构为{root_dir}{moduleName}{uuid}
//     * @param fileName   上传到OSS的文件的原文件名，如a.txt
//     * @param url        上传文件生成的访问url
//     * @param uuid       文件上传到oss中存储的文件名
//     * @param modulePath 上传记录使用的模块路径，如：award
//     * @param localDir   文件在本地的绝对路径，方便后续查找
//     * @param expireDate 上传文件的过期时间，后面可以通过该过期时间删除临时文件或一般文件
//     * @param ossType    对象存储类型: 1.MiniIO: minio; 2.阿里云OSS: alioss
//     * @return 新增的上传记录
//     */
//    OssRecordEntity insertSimple(String ossKey, String fileName, String url, String uuid, OssPathEnum modulePath, Date expireDate, String localDir, String remark, String ossType);
//
//    OssRecordEntity insertSimple2(String ossKey, String fileName, String url, String uuid, String path, Date expireDate, String localDir, String remark, String ossType, OssPathEnum modulePath);
//
//    /**
//     * 新增历史文件上传记录
//     *
//     * @param ossKey     查询OSS的key结构为{root_dir}{moduleName}{uuid}
//     * @param fileName   上传到OSS的文件的原文件名，如a.txt
//     * @param url        上传文件生成的访问url
//     * @param uuid       文件上传到oss中存储的文件名
//     * @param modulePath 上传记录使用的模块路径，如：award
//     * @param localDir   文件在本地的绝对路径，方便后续查找
//     * @param expireDate 上传文件的过期时间，后面可以通过该过期时间记录删除临时文件或一般文件
//     * @param ossType    对象存储类型: 1.MiniIO: minio; 2.阿里云OSS: alioss
//     * @return 新增的的上传记录
//     */
//    OssRecordEntity insertTemp(String ossKey, String fileName, String url, String uuid, OssPathEnum modulePath, Date expireDate, String localDir, String remark, String ossType);
//
//    /**
//     * 删除Oss中文件，并在记录表中将is_deleted标记为true，一般是在删除OSS中临时文件时调用
//     *
//     * @param ids 上传记录表中id
//     * @return 返回软删除条数。删除失败返回0
//     */
//    long deleteRecord(List<String> ids);
//
//
//    /**
//     * 查询某一模块临时文件目录内已过期临时文件
//     *
//     * @param modulePath
//     * @return
//     */
//    List<OssRecordEntity> findTempByModule(OssPathEnum modulePath, int pageSize);
//
//    /**
//     * 根据oss key查询上传记录
//     *
//     * @param key
//     * @return
//     */
//    OssRecordEntity findByKey(String key);
//
//    /**
//     * 根据数据库 id查询上传记录
//     *
//     * @param id
//     * @return
//     */
//    OssRecordEntity findById(String id);
//
//    /**
//     * 删除Oss中文件，并在记录表中将is_deleted标记为true
//     *
//     * @param id
//     * @return
//     */
//    long updateIsDeleted(String id);
//}
